/*
 * author M.Chang
 *
 * Copyright 2008 Ph.Bonnet and M.Chang
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 */
#ifndef BASISPROBE_H_
#define BASISPROBE_H_

#include <math.h>
#include <iostream>
#include <sstream>

#include "DataSetGenerator.h"


const int base_points = 10;
const int base_begin = 100;
const int base_end = 1000;
const int base_utility = 1;

const int base_frequency[] = { 1, 2 };

const int base_elements[] = { 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 };
const int base_duration[] = { 5, 1, 1, 1, 1, 1, 1, 1, 1, 5 };
const int base_energy[] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 2 };
const int base_transmit[] = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 3 };
const int base_bandwidth[] = { 4, 1, 1, 1, 1, 1, 1, 1, 1, 4 };

const int base_neighbor_time[] = { 6, 1, 1, 1, 1, 1, 1, 1, 1, 6 };
const int base_neighbor_energy[] = { 7, 1, 1, 1, 1, 1, 1, 1, 1, 7 };

//const int base_frequency[] = { 1 , 2 };
//const int base_frequency[] = { 1 , 2 , 3 };
//const int base_frequency[] = { 1 , 2 , 3 , 4 };
//const int base_frequency[] = { 1 , 2 , 3 , 4 , 5 };
//const int base_frequency[] = { 1 , 2 , 3 , 4 , 5 , 6};
//const int base_frequency[] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 };
//const int base_frequency[] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 };
//const int base_frequency[] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
//const int base_frequency[] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };

//const int utility[] = { 10, 12, 14, 13, 11 };
//const int energy[] = { 10, 11, 12, 13, 14 };
//const int duration[] = { 10, 11, 12, 13, 14 };


class BasisProbe : public DataSetGenerator
{
public:
  /* class (con/copy/assign/de)structors */
  BasisProbe();
  virtual ~BasisProbe();

  static void generateDataSet(std::map<std::string, double>&, DataSet&);

private:

};


#endif /*BASISPROBE_H_*/
